Everything about Real Time Messaging Protocol totally explained
Real Time Messaging Protocol (RTMP) is a proprietary
protocol developed by
Adobe Systems for
streaming audio, video and data over the Internet, between a
Flash player and a server.
The RTMP protocol has three variations:
- The "plain" protocol which works on top of TCP and uses port number 1935
- RTMPT which is encapsulated within HTTP requests to traverse firewalls
- RTMPS which works just like RTMPT, but over a secure HTTPS connection.
While the primary motivation for RTMP was a persistent protocol for Flash, it's also used in some other applications, such as the
Adobe LiveCycle Data Services ES.
Operation
The raw TCP-based RTMP protocol maintains a single persistent connection and allows real-time communication. To guarantee smooth delivery of video and audio streams, while still maintaining the ability to transmit bigger chunks of information, the protocol splits video and data into 128-byte fragments (except for audio which uses 64-byte fragments). Fragments from different streams are then
interleaved and
multiplexed over a single connection. With longer data chunks, the protocol only carries a one-byte header per fragment, thus incurring very little
overhead.
At a higher level, the RTMP protocol encapsulates
MP3 and
Flash Video multimedia streams, and can make
remote procedure calls (RPCs) using the
Action Message Format.
Other RPC services are made asynchronously with a single client/server request/response model, so real-time communication isn't necessary.
HTTP tunneling
Many corporate network
firewalls block connections via unrecognised ports and protocols; for this reason, a variant called RTMPT (RTMP
Tunneled) was developed. This protocol
encapsulates the RTMP data in valid
HTTP requests, and by default communicates on port 80. While RTMPT requires slightly higher bandwidth due to the addition of HTTP headers, the protocol can be used successfully in environments where security measures would block RTMP. This approach also works on secured
HTTPS connections, in which case it's called RTMPS (RTMP Secure).
RTMP server software
Currently, the only full implementation RTMP servers are the
Adobe Flash Media Server and Wowza Media Server, both commercial and closed source implementations.
There is a
reverse engineered open source project called
Red5 which aims to produce a feature-complete implementation written in
Java. As of October 2007, the majority of the functionality is implemented, although the project is still in the
beta stage.
There are some other RTMP-servers with basic functionality available over
Google Code
Further Information
Get more info on 'Real Time Messaging Protocol'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://real_time_messaging_protocol.totallyexplained.com">Real Time Messaging Protocol Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |